# # 1、输入两个日期，计算两个日期之间相差的天数
# import time
# import datetime
# def unm1(a,b):
#
#     count=time.strptime(a,"%Y-%m-%d")  #获取时间
#     lst=time.mktime(count)
#     count1=time.strptime(b,"%Y-%m-%d") #获取时间
#     lst1=time.mktime(count1)
#     time_diffeience = int((lst.__sub__(lst1)//60//60//24))
#     #获得二个日期相差多少天，因为算出来的是秒，所有要除以小时，分，秒，
#     #用了地板除，还是有小数点，所有加了个强转
#     return time_diffeience
# date=input("请输入一个日期（年-月-日）:")   #输入日期1
# date1=input("请输入一个日期（年-月-日）:") #输入日期2
# unm2=unm1(date,date1)
# if unm2>=0:   #判断是否为负数，如果是就转正数
#     pass
# else:
#     unm2=(-unm2)
# print(f"{date}和{date1}相差天数为:{unm2}")



# 2、输入一个数字n，计算n天之前是什么日期，输出日期形式为“2021-07-27”
# import datetime
#
# def getday(y=2021,m=8,d=1,n=0):
#     the_date = datetime.datetime(y,m,d)
#     result_date = the_date + datetime.timedelta(days=n)
#     d = result_date.strftime('%Y-%m-%d')
#     return d
# print(getday(2021,8,1,100)) #8月1日后21天
# print (getday(2021,8,1,-10)) #8月1日前10天



# 3、统计当前文件夹的大小（python实现，预备知识：os模块）
# import os
# from os.path import join, getsize
#
# def getdirsize(dir):
#     #dir为文件夹的绝对路径
#     size = 0
#     for root, dirs, files in os.walk(dir):
#         size += sum([getsize(join(root, name)) for name in files])
#     print("该文件夹大小为：",size,"字节")
#     return
# getdirsize('D:/xsfh')


# （1）什么是可迭代对象？
#  现实了__iter__方法，生成一个迭代器

# （2）什么是迭代器？
# 迭代器，每次调用该对象时会返回自身的下一个元素，
# 从实现上来看，一个迭代器对象必须是定义了__iter__()，调用它本身
# 方法和next()下一个元素方法的对象。

# （3）什么是生成器？
# 更加优雅的迭代器，一边循环一边计算的机制
#在用到庞大的文件数据时，他的占用的的内存空间会很少

# （4）什么是生成器表达式？
#就是用小括号的链表推导式
# 生成器表达式是创建生成器的简洁句法，这样无需先定义函数再调用



